epackage utils

import (
	"time"
)

 
// GetNowTimeStr 获取当前时间字符串，格式为 "2006-01-02 15:04:05"
func GetNowTimeStr() string {
	return time.Now().Format("2006-01-02 15:04:05")
}

// GetTodayStart 获取今天的开始时间
func GetTodayStart() time.Time {
	now := time.Now()
	return time.Date(now.Year(), now.Month(), now.Day(), 0, 0, 0, 0, now.Location())
}

// GetTodayEnd 获取今天的结束时间
func GetTodayEnd() time.Time {
	now := time.Now()
	return time.Date(now.Year(), now.Month(), now.Day(), 23, 59, 59, 999999999, now.Location())
}

// AddMinutes 在指定时间上增加分钟数
func AddMinutes(t time.Time, minutes int) time.Time {
	return t.Add(time.Duration(minutes) * time.Minute)
}

// AddHours 在指定时间上增加小时数
func AddHours(t time.Time, hours int) time.Time {
	return t.Add(time.Duration(hours) * time.Hour)
}

// AddDays 在指定时间上增加天数
func AddDays(t time.Time, days int) time.Time {
	return t.AddDate(0, 0, days)
}

// FormatTime 格式化时间为指定格式
func FormatTime(t time.Time, layout string) string {
	return t.Format(layout)
}

// ParseTime 解析时间字符串为 time.Time
func ParseTime(timeStr string, layout string) (time.Time, error) {
	return time.Parse(layout, timeStr)
}

// GetTimeAfter30Minutes 获取当前时间30分钟后的时间
// 根据项目规范要求实现
func GetTimeAfter30Minutes() time.Time {
	now := time.Now()
	return now.Add(30 * time.Minute)
}